AngularJs过滤器

您所在的位置:网站首页 js 过滤器 AngularJs过滤器

AngularJs过滤器

#AngularJs过滤器| 来源: 网络整理| 查看: 265

我正在编写一个模块,使用自定义过滤器,我发现了一些奇怪的东西.如果我console.log()在过滤器内部使用,它会将值记录两次,即使我只调用一次.有没有办法只记录一次?这是否意味着过滤器内的代码会被执行两次?

这是过滤器:

.filter('arrayToSentence', function($sce, $rootScope) { return function(array, index) { console.log(index); var i, word, sentence = ''; for (i = 0; i ' return $sce.sentence; } })

将console.log(index)被记录两次.我需要确保我的滤波器逻辑不会在任何地方重复,因为我需要比较两个数组(一个被过滤,另一个用于对它们之间的差异进行着色,如缺少单词或单词不匹配).

[编辑]这是向我指出,我的问题是重复的,这 可是原来的问题没有回答如何避免这个问题,但我相信@defaultcheckbox提供充实的答案.

1> defaultcheck..:

您是否使用带有管道的DOM中的过滤器,或者您是否在控制器中使用它?在DOM中使用过滤器总是比在控制器中使用过滤器"慢",但更重要的是(并且可能与您的情况有关)DOM过滤器总是运行两次.

来源:https://toddmotto.com/use-controller-filters-to-prevent-digest-performance-issues/



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3